/*******************************************************************************
* 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
* 版本：v1.0.0<br>
* 文件：AppViewComponent.js<br>
* 日期：2017年9月29日<br>
* 作者: 杨顺强<br>
* 功能：应用程序组件对象基类，定义组件对象基本接口<br>
* 
* 修改记录：<br>
* 日期 描述 更新功能<br>
******************************************************************************/
 
window.makeNamespace(window,"Rainier.UI.V2");

Rainier.UI.V2.AppPropertyComponent = Rainier.UI.V2.AppViewComponent.extend({

 	NAME : "Rainier.UI.V2.AppPropertyComponent",

 	/**
	 * 函数名称：init<br>
	 * 函数功能：构造函数<br>
	 * 参数信息：app : 应用程序对象，
	 * 异常信息：无<br>
	 */
 	init : function(app,parentContainer){
        this._super(app,parentContainer);
 		this.container = $('<div class="app-property"></div>')
 	},

 	/**
	 * 函数名称：createView<br>
	 * 函数功能：根据参数信息： 是否存在容器元素，进行不同形式的布局设置<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	createView : function(){
 		if(this.parentContainer){
            this.container.appendTo(this.parentContainer);
        }else{
            this.container.appendTo($("body"));
        }
 		this.tabSupport       = new Rainier.UI.V2.UICompositeTabSupport(this.container,{fit:true,tabPosition:'top'});
 		var propertyTab       = new Rainier.UI.V2.UICompositeTab(this.tabSupport,{fit:true,title:"属性"});
 		var helpTab           = new Rainier.UI.V2.UICompositeTab(this.tabSupport,{fit:true,title:"帮助"});
 		this.propertyViewPage = new Rainier.UI.V2.AppPropertyViewPage(propertyTab);
 		this.helpViewPage     = new Rainier.UI.V2.AppHelpViewPage(helpTab);
 		this.tabSupport.select("属性");
 	},

 	/**
	 * 函数名称：resize<br>
	 * 函数功能：获取属性栏页面<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	resize : function(){
 		this.tabSupport.resize();
 	},

 	/**
	 * 函数名称：getPropertyViewPage<br>
	 * 函数功能：获取属性栏页面<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	getPropertyViewPage : function(){
 		return this.propertyViewPage;
 	},

 	/**
	 * 函数名称：getHelpViewPage<br>
	 * 函数功能：获取帮助栏页面<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	getHelpViewPage : function(){
 		return this.helpViewPage;
 	},

 	/**
	 * 函数名称：getHelpViewPage<br>
	 * 函数功能：点击打开属性栏的显示<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	clickToShow : function(){
 		var flag = $(".app-part").data("flag");
 		if(flag){
 			$(".app-part").click();
 		}
 		$(".app-property").css("display","block");
 		this.tabSupport.select("属性");
 		this.resize();
 	},

 	/**
	 * 函数名称：clickToHide<br>
	 * 函数功能：点击隐藏属性栏的显示<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	clickToHide : function(){
 		$(".app-property").css("display","none");
 	},

 	/**
	 * 函数名称：createViewDom<br>
	 * 函数功能：创建当前组件的dom元素<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	createViewDom : function(){
 		
 	},

 	/**
	 * 函数名称：createView<br>
	 * 函数功能：对组件中的控制元素，进行事件绑定，此处，调用context内部的功能函数<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	bindCallBackFn : function(){
 		// throw new Error("此函数有子类实现,当前对象可理解为抽象类，不向外提供实例，谢谢配合");
 	},

 	/**
	 * 函数名称：enableComponent<br>
	 * 函数功能：启用组件内部功能<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	enableComponent : function(){
 		throw new Error("此函数有子类实现,当前对象可理解为抽象类，不向外提供实例，谢谢配合");
 	},

 	/**
	 * 函数名称：disableComponent<br>
	 * 函数功能：禁用组件功能<br>
	 * 参数输入：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
 	disableComponent : function(){
 		throw new Error("此函数有子类实现,当前对象可理解为抽象类，不向外提供实例，谢谢配合");
 	},
});

